package com.hyper_yang._05_juc.chap08;

import java.util.Date;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;

public class ScheduledThreadPoolDemo {

    public static void main(String[] args) {
        ScheduledExecutorService threadPool = Executors.newScheduledThreadPool(3); //可以执行定时任务的线程池

        System.out.println("new Date() = " + new Date());

//        for (int i = 0; i < 10; i++) { //10个定时任务交给线程池的3个线程来处理
//            threadPool.schedule(()->{
//                System.out.println(Thread.currentThread().getName() + "\t" + "---come in"+new Date());
//            },5, TimeUnit.SECONDS); //延迟5秒再执行任务
//        }


        //以后利用定时任务框架实现定时任务开发。cron表达式   秒  分  时   日  月  周  年
        threadPool.scheduleAtFixedRate(()->{
            System.out.println(Thread.currentThread().getName() + "\t" + "---come in"+new Date());
        },5, 1,TimeUnit.SECONDS); //延迟5秒  每个1秒执行一次


    }
}